The present invention relates to the field of data storage and, more particularly, to optimizing the storage of one-to-many external references to contiguous regions of hierarchical data structures.
A long-standing concern of software performance has been memory usage. This is often especially problematic in software systems that operate using one-to-many references to hierarchical data structures. Conventional memory management approaches decompose the one-to-many reference into separate one-to-one relationships to the individual nodes of the data structure and load each relationship into volatile memory. As the quantity of nodes included in the one-to-many reference increases, more volatile memory is consumed and performance decreased.
Some approaches to this problem have focused on increasing the availability of volatile memory for use, such as paging. Some approaches utilize compression schemes in order to use less volatile memory. However, compression schemes consume additional resources (e.g., memory, processing power, time) in order to compress and decompress the data.